﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;

namespace Ruleweaver.Rules.CheckMethods
{
	public sealed class HasAnyMethod : LinqCheckMethod
	{
		public HasAnyMethod(LinqResolution resolution) : base(resolution)
		{}

		protected override MethodInfo GetMethod(Type elementType, Type targetType, Type checkType)
		{
			throw new NotImplementedException();

			//return
			//  (from method in typeof(Checkable).GetMethods(BindingFlags.Public | BindingFlags.Static)
			//   where method.Name == "HasAny"
			//   let parameters = method.GetParameters()
			//   where parameters.Length == 1
			//   where IsCheckParameter(parameters.Single(), checkType)
			//   select method)
			//   .Single()
			//   .MakeGenericMethod(elementType);
		}
	}
}